package com.ylsk.check.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ylsk.common.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 占道上报对象 ins_jeeves_report
 *
 * @author yangsy
 * @date 2024-01-02
 */
@Data
public class JeevesReportVO implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 占道上报id */
    private Long jeevesReportId;

    /** 施工报备id */
    private Long reportInfoId;

    /** 施工报备单号 */
    @Excel(name = "施工报备单号")
    private String reportNum;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 占道报备序号 */
    @Excel(name = "占道报备序号")
    private String jeevesNum;

    /** 占道长度 */
    @Excel(name = "占道长度")
    private BigDecimal jeevesLength;

    /** 占道宽度 */
    @Excel(name = "占道宽度")
    private BigDecimal jeevesWidth;

    /** 占道开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "占道开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date jeevesStartDate;

    /** 占道截止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "占道截止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date jeevesEndDate;

    /** 施工开始时间 */
    @Excel(name = "施工开始时间", width = 30, dateFormat = "HH:mm:ss")
    @JsonFormat(pattern = "HH:mm:ss")
    private Date consStartTime;

    /** 施工截止时间 */
    @Excel(name = "施工截止时间", width = 30, dateFormat = "HH:mm:ss")
    @JsonFormat(pattern = "HH:mm:ss")
    private Date consEndTime;

    /** 施工开始路段id */
    private Long expresswayStartSectionId;


    /** 施工开始路段名称 */
    @Excel(name = "施工开始路段名称")
    private String expresswayStartSectionName;


    /** 施工结束路段id */
    private Long expresswayEndSectionId;

    /** 施工结束路段名称 */
    @Excel(name = "施工结束路段名称")
    private String expresswayEndSectionName;


    /** 施工开始方向(上行 下行 上下行) */
    @Excel(name = "施工开始方向",readConverterExp = "0=上行,1=下行,2=上下行")
    private String jeevesStartDirection;

    /** 施工结束方向(上行 下行 上下行) */
    @Excel(name = "施工结束方向",readConverterExp = "0=上行,1=下行,2=上下行")
    private String jeevesEndDirection;

    /** 占道开始桩号 */
    private String jeevesStartPile;

    /** 占道结束桩号 */
    private String jeevesEndPile;

    /** 所属大队 */
    private Long deptId;

    /** 所属管辖大队 */
    @Excel(name = "所属管辖大队")
    private String deptName;

    /** 审核人 */
    private Long reviewedBy;

    /** 备注 */
    private String remark;

    /** 创建人 */
    private Long createBy;

    /** 创建人名称 */
    private String createByName;

    /** 创建人时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 撤场上报id */
    private Long withdrawalReportId;
}
